The present invention relates to a method and apparatus for providing a client system with information via a network, and more particularly, to the integration of external Web pages or information therefrom in an e-commerce application.
Within the last decade, the Internet has become the most commonly used network for computer communication. The Internet comprises a vast number of computers and computer networks that are interconnected through communication links. The interconnected computers (hosts) can exchange information using a request-response protocol, the Hypertext Transfer Protocol (HTTP) which forms the basis of what is called the World Wide Web. Each resource (e.g., computer or web page) of the World Wide Web is uniquely identifiable by a Uniform Resource Locator (URL). The communication on the Internet is based on the Transmission Control Protocol and the Internet Protocol (TCP/IP). The HTTP request-response protocol defines the interaction of a Web client (Web browser) and a Web server. The request is initiated by the user activating a hyperlink. A hyperlink is, for example, in a graphical Web page a highlighted piece of text associated with a URL, and the request can be activated by clicking on the hyperlink. The URL has three parts representing the protocol (in this case HTTP), the name of the host desired, and, optionally, the name of the desired document on that host. The most common request is for an Hypertext Markup Language (HTML) or Extensible Markup Language (XML) document. The requested document may include Mobile Code, for example a Java script. However, it may also be a simple alphanumeric data file. The Web server returns a response including the requested document. Finally, the Web browser displays the document or executes the Mobile Code.
The World Wide Web is especially conducive to conducting electronic commerce. Many Web servers have been developed through which vendors can advertise and sell products. The server may provide an electronic version of a catalog that lists the items that are available. A user may browse through the catalog using the browser and select various items that are to be purchased.
U.S. Pat. No. 5,710,887 assigned to Broadvision discloses an electronic commerce application. A corresponding electronic commerce application is commercially available from BroadVision, Inc. (xe2x80x9cBroadVisionxe2x80x9d is a registered trade mark of BroadVision, Inc.). The BroadVision application is not included in the Web server software but is constituted by interacting functional program objects, like a participant program object, a customer monitoring program object or a sales representatives program object. The application has also objects, like a pricing engine, a payment handler and an order fulfilment interface, that are to be interfaced with external objects. These objects may comprise network connections to external subsystems. For instance, the payment handler may be connected to an external payment handler via a computerized credit card network. The program objects of the BroadVision application are objects in compliance with the Common Object Request Broker Architecture (CORBA). CORBA is a standard for distributed object management and provides a standard definition for the interfaces between the distributed objects. It can also be used for interfacing functional program objects which are not distributed on different hosts but reside on the same host. A more detailed explanation of CORBA can be found in the book by David G. Messerschmitt xe2x80x9cUnderstanding Networked Applicationsxe2x80x9d, 1st edition, 2000, pages 451-453. The BroadVision application is combined with a Web server coupled to the Internet. For this purpose, the Web server includes a Common Gate Way Interchange (CGI) (see Messerschmitt, page 147). Broadvision uses a session concept; id est a session is started when a client initiates a transaction and is maintained until the transaction is completed. Although such an architecture based on distributed object management has many advantages it does not provide a possibility for linking to external Web sites during a session while maintaining the session and the xe2x80x9clook and feelxe2x80x9d of the application.
Different methods of obtaining information from different Web servers are known. In the most common method, a Web page from a certain server may include hyperlinks to other servers. Upon selection of the hyperlink a request is sent to the corresponding other server, and upon receipt of its response, the first Web page from the first server is replaced by the second Web page from the second server.
A recent extension to HTML has introduced xe2x80x9cframesxe2x80x9d which allow to split the browser view into multiple windows, with each window displaying an independent Web page. Each frame can be given an individual URL so that information from different servers can be simultaneously displayed. The frame technique is implemented in recent versions of the Netscape browser (Netscape is a registered trademark of Netscape Communications Corporation). A description of the frames technique can be found at
http://home.netscape.com/assist/net_sides/frames.html.
U.S. Pat. No. 5,870,546 discloses a method for redirection of server external hyperlink reference. Normally, if a client selects a hyperlink in a Web page received from a first server, control over the client is lost. However, for Web advertisement an accounting of how often a reference is selected is required since the frequency of display of an advertisement generally defines the compensation paid to the advertisement publisher. In order to allow such accounting, a Web page served by the server to the client embeds a URL reference to a Web page to be served by the external server system. Selection of this embedded URL through the client browser results in a HTTP transaction with the server rather than the external server. The information stored in the embedded URL first served with the Web page to the client is thus provided back to the server upon selection of the URL even though the apparent target of URL is the external server. After the accounting has been performed in the server, a redirection response is provided by the server to the client providing the redirection URL corresponding to the external server. Finally, the server sends a request to the URL at the external server. Although this method improves the accounting possibilities, control may be lost as soon as the redirection request directed to the external server is sent from the server to the client.
A method performed by a first server system provides a client system with information via a network. The method comprises the steps of: serving to the client system first page information including at least one reference to information available from an external server; receiving a request from the client system, the request being indicative of a selection of the reference at the client system; sending a request to the external server; receiving the external server information via the network; preparing second page information using at least part of the external server information; sending said second page information to the client system.
According to another aspect, an apparatus for providing a client system with information via a network comprises a first server system. The first server system comprises: a server component that receives requests from the client system and sends first and second page information to said client system, said first page information contains at least one reference to information available from an external server; a browser component that requests the referenced information from at least one external server, and receives said external server information over the network; and a spoofing system that controls said browser component, and prepares said second page information using at least part of said external server information.
According to still another aspect, an apparatus for providing a client system with information via a network, comprises a first server system which comprises: a client request respond unit; a client request receipt unit; a link translator; an external server request unit; and an external server receipt unit.
Other features are inherent in the disclosed method and apparatus or will become apparent to those skilled in the art from the following detailed description and its accompanying drawings.